home *** CD-ROM | disk | FTP | other *** search
/ Macwelt 1 / Macwelt DVD 1.toast / Software für Mac-OS X / Entwickler-Tools / netbeans / modules / ext / djava.jar / koala / dynamicjava / interpreter / TreeCompiler$CompilationUnitVisitor.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-03-14  |  3.2 KB  |  62 lines

  1. package koala.dynamicjava.interpreter;
  2.  
  3. import koala.dynamicjava.classinfo.ClassFinder;
  4. import koala.dynamicjava.classinfo.TreeClassInfo;
  5. import koala.dynamicjava.interpreter.context.Context;
  6. import koala.dynamicjava.interpreter.context.GlobalContext;
  7. import koala.dynamicjava.interpreter.error.CatchedExceptionError;
  8. import koala.dynamicjava.tree.ClassDeclaration;
  9. import koala.dynamicjava.tree.ImportDeclaration;
  10. import koala.dynamicjava.tree.InterfaceDeclaration;
  11. import koala.dynamicjava.tree.PackageDeclaration;
  12. import koala.dynamicjava.tree.TypeDeclaration;
  13. import koala.dynamicjava.tree.visitor.VisitorObject;
  14.  
  15. public class TreeCompiler$CompilationUnitVisitor extends VisitorObject {
  16.    protected Context context;
  17.    protected ClassFinder classFinder;
  18.    // $FF: synthetic field
  19.    private final TreeCompiler this$0;
  20.  
  21.    public Object visit(PackageDeclaration var1) {
  22.       this.context.setCurrentPackage(var1.getName());
  23.       return null;
  24.    }
  25.  
  26.    public Object visit(ImportDeclaration var1) {
  27.       if (var1.isPackage()) {
  28.          this.context.declarePackageImport(var1.getName());
  29.       } else {
  30.          try {
  31.             this.context.declareClassImport(var1.getName());
  32.          } catch (ClassNotFoundException var3) {
  33.             throw new CatchedExceptionError(var3, var1);
  34.          } catch (TreeCompiler.PseudoError var4) {
  35.          }
  36.       }
  37.  
  38.       return null;
  39.    }
  40.  
  41.    public Object visit(ClassDeclaration var1) {
  42.       return this.visitType(var1);
  43.    }
  44.  
  45.    public Object visit(InterfaceDeclaration var1) {
  46.       return this.visitType(var1);
  47.    }
  48.  
  49.    protected Object visitType(TypeDeclaration var1) {
  50.       String var2 = this.classFinder.getCurrentPackage();
  51.       var2 = (var2.equals("") ? "" : var2 + ".") + var1.getName();
  52.       this.this$0.classPool.add(var2, new TreeClassInfo(var1, this.classFinder));
  53.       return null;
  54.    }
  55.  
  56.    TreeCompiler$CompilationUnitVisitor(TreeCompiler var1) {
  57.       this.this$0 = var1;
  58.       this.context = new GlobalContext(this.this$0.interpreter, this.this$0.classInfoLoader);
  59.       this.classFinder = new TreeClassFinder(this.context, this.this$0.interpreter, this.this$0.classPool);
  60.    }
  61. }
  62.